package com.cleaningcloud.erp.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.cleaningcloud.common.core.annotation.Excel;

/**
 * 采购退换货对象 erp_procude_return
 * 
 * @author cleaningcloud
 * @date 2024-10-05
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ErpProcudeReturn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 采购退换货ID */
    private Long procudeReturnId;

    /** 退换货单号 */
    @Excel(name = "退换货单号", sort = 1)
    private String procudeReturnOdd;

    /** 采购单ID */
    private Long procureId;

    /** 采购单号 */
    @Excel(name = "采购单号", sort = 2)
    private String procureOdd;

    /** 出库仓库ID */
    private Long wareId;

    /** 退货总额 */
    @Excel(name = "退换货总价", sort = 7)
    private BigDecimal returnPrice;

    /** 物流费用 */
//    @Excel(name = "物流费用", sort = 8)
    private BigDecimal logisticsCost;

    /** 物流费用分摊方式(1按重量分摊2按体积分摊) */
//    @Excel(name = "物流费用分摊方式", sort = 9, readConverterExp = "1=按重量分摊,2=按体积分摊")
    private Long logisticsMethod;

    /** 其他费用 */
//    @Excel(name = "其他费用", sort = 10)
    private BigDecimal otherCost;

    /** 其他费用分摊方式(1按重量分摊2按体积分摊) */
//    @Excel(name = "其他费用分摊方式", sort = 11, readConverterExp = "1=按重量分摊,2=按体积分摊")
    private Long otherMethod;

    /** 收款方式(1现金2微信3支付宝4银行转账) */
//    @Excel(name = "收款方式", sort = 12, readConverterExp = "1=现金,2=微信,3=支付宝,4=银行转账")
    private Long paymentMethod;

    /** 创建人ID */
    private Long createId;

    /** 备注是否关闭 */
    private String flag;

    /** 审批状态(1待审批2被驳回3已退货) */
    @Excel(name = "审批状态", sort = 13, readConverterExp = "1=待审批,2=被驳回,3=已退货")
    private Integer approveStatus;

    /** 审批人ID */
    private Long approveId;

    /** 审批人名称 */
    @Excel(name = "审批人", sort = 14)
    private String approveName;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 15)
    private Date approveTime;

    /** 驳回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date rejectTime;

    /** 驳回原因 */
    private String rejectReason;

    /** 创建人名称 */
    @Excel(name = "创建人", sort = 16)
    private String createName;


}
